The exemplary embodiment relates to sentiment analysis and finds particular application in connection with aspect-based sentiment analysis.
Sentiment analysis (or opinion mining) analyzes people's opinions, sentiments, evaluations, attitudes, and emotions from written text, using natural language processing. It finds uses in a variety of applications, such as in analysis of data from blogs, social media websites, and product review websites, enabling detection of customer opinions about the products and/or services of a business or other organization and may be used for making business decisions or for making recommendations to product reviewers.
The majority of current sentiment analysis approaches, attempt to detect the overall polarity of a sentence, paragraph, or text span, irrespective of the entities mentioned (e.g., laptops, battery, screen) and their attributes (e.g., price, design, quality). When a text is classified at a document level or a sentence level, the resulting classification may not provide meaningful data concerning what the opinion holder likes or dislikes about aspects of an item. If a document is positive concerning an item, for example, this clearly does not mean that the opinion holder holds positive opinions about all the aspects or features of the item. Similarly, if a document is negative it does not mean that the opinion holder dislikes everything about the item described.
Aspect-based sentiment analysis, however, aims to detect fine-grained opinions expressed about different aspects of a given entity. See, for example, M. Hu, et al., “Mining and summarizing customer reviews.” ACM SIGKDD Int'l Conf. on Knowledge Discovery & Data Mining (KDD), pp. 168-167, 2004. Aspect-based sentiment analysis systems generally receive textual input (e.g., product reviews or messages from social media) discussing a particular item (e.g., a restaurant, a movie, or a new model of a mobile phone). Such a system attempts to detect the main aspects (features) of the item and to estimate the polarity expressed about these aspects (usually positive, negative, and neutral). The detection of aspects entails detecting the aspect terms common to the particular domain and then associating them with semantic categories (or topics). For example, ‘value’ and ‘cost’ may be associated with the general semantic category ‘price’, while ‘waiter’, ‘staff’ and ‘chef’ may be associated to the semantic category ‘service.’
For example, given a restaurant review “The pizza was delicious, but service was slow,” the aim would be to identify the different aspect terms that relate to the restaurant domain (pizza and service) about which an opinion is expressed (positive and negative, respectively), assign these terms to semantic categories (e.g., food and service), and associate them with a measure of polarity.
However, training a system for such a fine-grained task is difficult, particularly when the number of aspect categories is high. As a result, high accuracy may not always be achieved.
There remains a need for an improved system and method for aspect-based sentiment analysis.